-
Notifications
You must be signed in to change notification settings - Fork 4.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Split the bank snapshot construction from file PR. These are the non-essential helper changes #29311
Split the bank snapshot construction from file PR. These are the non-essential helper changes #29311
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall good and will help the #28745 be simpler to review. Some nits & clarifying comments.
I would recommend splitting up this PR further so that each commit represents a single logical change. From looking over this, I see the following distinct changes:
This is quite a list! And it's a testament to how much work you've already put into this feature, @xiangzhu70. I do think it'll be beneficial to have smaller PRs. Ideally the PR's title is a single tangible thing that the PR implements/changes vs a collection of non-essential "helper" changes. Hopefully many of the debugging/logging changes probably would go in with another PR that uses those new logs. Each distinct code refactoring would benefit from its own PR; this makes it easier to review and really know what is and isn't getting updated. I imagine this may feel like a lot of extra work; that's how I felt when I started on this codebase as well. What I've found is that over time these smaller PRs are much faster. Reviews get done much faster, far fewer bugs get introduced, and writing out PR descriptions helps me think through the intent of the PR as well (and then the reviewers get that context too!). |
I second the thought that several smaller PRs is easier to review and generally will go faster overall 😄 |
For the essential major changes, splitting helps isolate the impact of potential problems for bisecting. This PR only has misc logging/helper logic which have no impact to the existing behaviors, is meant to reduce the size of the essential PRs. I thought it should be safe. OK, I will split it further. It indeed will take quite much work. I will separate them by functionality and generate different PRs. Closing this PR now. |
Problem
This is the first step to split the PR 28745 #28745
Summary of Changes
Move the non-essential changes into this PR.
They are:
Some helper functions;
Debug message, error message changes;
Additional checking, such as buildins;
Move the async remove function from validator to snapshot_utils.rs, because it is a util function, and it is easier to be used by the snapshot accounts operations.
Fixes #